package co.gov.medellin.sdep.sisdep.model.dao;

import java.util.List;

import co.gov.medellin.sdep.sisdep.model.SolicitudAusencia;
import co.gov.medellin.sdep.sisdep.model.comp.SolicitudPermisoComp;

public interface ISolicitudAusenciaDAO {

	/**
	 *
	 * @param solicitudausencia
	 */
	void insert(SolicitudAusencia solicitudausencia);

	/**
	 *
	 * @param solicitudausencia
	 */
	void update(SolicitudAusencia solicitudausencia);

	/**
	 *
	 * @param solicitudausencia
	 */
	void delete(SolicitudAusencia solicitudausencia);

	/**
	 *
	 * @param id
	 */
	void deleteByPrimaryKey(long id);

	/**
	 *
	 * @return
	 */
	List load(SolicitudAusencia  solicitudausencia);

	/**
	 *
	 * @param id
	 * @return
	 */
	SolicitudAusencia findByPrimaryKey(long id);

	/**
	 *
	 * @param  solicitudausencia
	 * @return
	 */
	SolicitudAusencia findByCriteria(SolicitudAusencia solicitudausencia);

	/**
	 *
	 * @param solicitudausencia
	 * @return
	 */
	SolicitudAusencia findByActiveState(SolicitudAusencia solicitudausencia);
	
	/**
	 * 
	 * @param solicitudModifica
	 * @return
	 */
	SolicitudPermisoComp findByRelated(SolicitudAusencia solicitudausencia);
	
	/**
	 * 
	 * @param solicitudModifica
	 * @return
	 */
	SolicitudAusencia findByPrimaryKeyOfSolicitud(long idSolicitud);

}
